<?xml version="1.0" encoding="UTF-8"?>
<ui:component xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich">

	<ui:composition template="/pages/templates/layout_principal.xhtml">
		<ui:define name="message">
			<rich:messages id="mensagens" globalOnly="true" showSummary="true" showDetail="true" ajaxRendered="false">
			</rich:messages>
		</ui:define>
		
		<ui:define name="body" width="100%">
			<h:form>
				<h:panelGrid styleClass="titulo">
					<h:outputText styleClass="titulo" 
						value="#{menuControl.nomeProjetoSelecionado} - Iteração ##{acompanharProjetoControl.iteracao.numero} (#{acompanharProjetoControl.iteracao.fase.faseRup.nome})" />
				</h:panelGrid>
				
				<br />
				
				<rich:panel header="Resumo da iteração">
					<h:panelGrid columns="2">
						<h:outputText value="Nome:" style="font-weight: bold;" />
						#{acompanharProjetoControl.iteracao.nome}
						
						<h:outputText value="Início (Estimado - Realizado):" style="font-weight: bold;" />
						<h:panelGroup>
							<h:outputText value="#{acompanharProjetoControl.iteracao.inicio}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
							 - 
							<h:outputText value="#{acompanharProjetoControl.iteracao.inicioRealizado}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</h:panelGroup>
						
						<h:outputText value="Fim (Estimado - Realizado):" style="font-weight: bold;" />
						<h:panelGroup>
							<h:outputText value="#{acompanharProjetoControl.iteracao.fim}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
							 - 
							<h:outputText value="#{acompanharProjetoControl.iteracao.fimRealizado}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</h:panelGroup>
						
						<h:outputText value="Horas (Estimadas - Realizadas):" style="font-weight: bold;" />
						<h:panelGroup>
							#{acompanharProjetoControl.iteracao.horasPlanoIteracao} horas - 
							#{acompanharProjetoControl.iteracao.horasRealizadas} horas
						</h:panelGroup>
						
						<h:outputText value="Situação:" style="font-weight: bold;" />
						#{acompanharProjetoControl.iteracao.situacao.descricao}
					</h:panelGrid>
				</rich:panel>
						
				<br/>
				
				<rich:tabPanel switchType="client" activeItem="tabAtividades">
					<rich:tab header="Atividades" id="tabAtividades">
					
						<a4j:commandLink render="panelGantt" execute="@this"
							oncomplete="#{rich:component('panelGantt')}.show()">
							<a4j:param assignTo="#{gerarGanttControl.idIteracao}" value="#{acompanharProjetoControl.idIteracaoSelecionada}" />
							<h:graphicImage library="images" name="chart_line.png" title="Visualizar Gantt" />
							Visualizar Gantt
						</a4j:commandLink>
						<br/><br/>
						<rich:dataTable id="listaAtividades"  
							var="atividade" 
							value="#{acompanharProjetoControl.iteracao.atividades}" 
							styleClass="stable" style="width: 100%">
							
							<f:facet name="header">
								<rich:columnGroup>
									<rich:column style="width: 5%" rowspan="2">#</rich:column>
									<rich:column rowspan="2">Atividade</rich:column>
									
									<rich:column style="width: 10%" colspan="2">Início</rich:column>
									
									<rich:column style="width: 10%" colspan="2">Fim</rich:column>
									<rich:column style="width: 12%" colspan="2">Horas</rich:column>
									<rich:column rowspan="2">Responsável</rich:column>
									<rich:column rowspan="2">Status</rich:column>
									<rich:column style="width: 10%" rowspan="2" colspan="3"></rich:column>
									
									<rich:column breakRowBefore="true">Est.</rich:column>
									<rich:column>Real.</rich:column>
									
									<rich:column>Est.</rich:column>
									<rich:column>Real.</rich:column>
									
									<rich:column>Est.</rich:column>
									<rich:column>Real.</rich:column>
								</rich:columnGroup>
							</f:facet>
							
							<rich:column style="text-align: center;">
								#{atividade.numero}
							</rich:column>
							<rich:column>
								#{atividade.nome}
							</rich:column>
							<rich:column>
								<h:outputText value="#{atividade.inicioEstimado}">
									<f:convertDateTime pattern="dd/MM/yyyy"/>
								</h:outputText>
							</rich:column>
							<rich:column>
								<h:outputText value="#{atividade.inicioRealizado}">
									<f:convertDateTime pattern="dd/MM/yyyy"/>
								</h:outputText>
							</rich:column>
							
							<rich:column>
								<h:outputText value="#{atividade.fimEstimado}">
									<f:convertDateTime pattern="dd/MM/yyyy"/>
								</h:outputText>
							</rich:column>
							<rich:column>
								<h:outputText value="#{atividade.fimRealizado}">
									<f:convertDateTime pattern="dd/MM/yyyy"/>
								</h:outputText>
							</rich:column>
							
							<rich:column>
								#{atividade.horasEstimadas}
							</rich:column>
							<rich:column>
								#{atividade.horasRealizadas}
							</rich:column>
							
							<rich:column>
								#{atividade.responsavel.nomeRecurso}
							</rich:column>
							
							<rich:column>
								#{atividade.status.descricao}
							</rich:column>
							
							<rich:column style="text-align: center;">
								<a4j:commandLink action="#{acompanharProjetoControl.cancelarAtividade}" execute="@this" 
									render="listaAtividades mensagens" onclick="return confirm('Tem certeza que deseja cancelar a atividade ##{atividade.numero}?')">
									<a4j:param assignTo="#{acompanharProjetoControl.idAtividadeSelecionada}" value="#{atividade.id}" />
									<h:graphicImage library="images" name="cancel.png" title="Cancelar atividade ##{atividade.numero}" />
								</a4j:commandLink>
							</rich:column>
							
							<rich:column style="text-align: center;">
								<a4j:commandLink action="#{acompanharProjetoControl.listarRequisitosDaAtividade}" execute="@this" 
									render="panelRequisitosAtividade" oncomplete="#{rich:component('panelRequisitosAtividade')}.show()">
									<a4j:param assignTo="#{acompanharProjetoControl.idAtividadeSelecionada}" value="#{atividade.id}" />
									<h:graphicImage library="images" name="text_list_bullets.png" title="Requisitos/ Casos de Uso da atividade ##{atividade.numero}" />
								</a4j:commandLink>
							</rich:column>
							
							<rich:column style="text-align: center;">
								<a4j:commandLink action="#{acompanharProjetoControl.listarAtividadesPredecessoras}" execute="@this" 
									render="panelAtividadesPredecessoras" oncomplete="#{rich:component('panelAtividadesPredecessoras')}.show()">
									<a4j:param assignTo="#{acompanharProjetoControl.idAtividadeSelecionada}" value="#{atividade.id}" />
									<h:graphicImage library="images" name="calendar_link.png" title="Predecessoras da atividade ##{atividade.numero}" />
								</a4j:commandLink>
							</rich:column>
						</rich:dataTable>
					</rich:tab>
					
					<rich:tab header="Recursos" id="tabRecursos">
						<h:panelGrid columns="2" columnClasses="tab-recursos-col1, tab-recursos-col2" width="100%">
							<rich:panel header="Recursos Humanos">
								<rich:dataTable id="listaRecursos" 
									var="recurso"
									value="#{acompanharProjetoControl.recursosDaIteracao}"
									styleClass="stable">
									
									<f:facet name="header">
										<rich:columnGroup>
											<rich:column>Nome</rich:column>
											<rich:column style="width: 5%"></rich:column>
										</rich:columnGroup>
									</f:facet>
									
									<rich:column>
										#{recurso.nomeRecurso}
									</rich:column>
									
									<rich:column>
										
									</rich:column>
								</rich:dataTable>
							</rich:panel>
							
							<rich:panel header="Outros Recursos">
								#{acompanharProjetoControl.iteracao.outrosRecursos}
							</rich:panel>
						</h:panelGrid>
					</rich:tab>
					
					<rich:tab header="Requisitos/ Casos de Uso" id="tabRequisitos">
						<h:panelGrid columns="2" width="100%" columnClasses="col-50perc, col-50perc">
							<rich:panel header="Requisitos">
								<rich:dataTable id="listaRequisitos" 
									var="requisito"
									value="#{acompanharProjetoControl.requisitosDaIteracao}"
									styleClass="stable">
									
									<f:facet name="header">
										<rich:columnGroup>
											<rich:column>Nome</rich:column>
											<rich:column>Tipo</rich:column>
											<rich:column>Prioridade</rich:column>
											<rich:column>Situação</rich:column>
											<rich:column></rich:column>
										</rich:columnGroup>
									</f:facet>
									
									<rich:column>
										#{requisito.nome}
									</rich:column>
									<rich:column>
										#{requisito.tipo.descricao}
									</rich:column>
									<rich:column style="text-align: center;">
										#{requisito.prioridade}
									</rich:column>
									<rich:column>
										#{requisito.situacao.descricao}
									</rich:column>
									<rich:column>
										<a4j:commandLink action="#{acompanharProjetoControl.listarAtividadesDoRequisito}" execute="@this" 
											render="panelAtividadesRequisito" oncomplete="#{rich:component('panelAtividadesRequisito')}.show()">
											<a4j:param assignTo="#{acompanharProjetoControl.idRequisitoSelecionado}" value="#{requisito.id}" />
											<h:graphicImage library="images" name="calendar_link.png" title="Atividades vinculadas ao requisito ##{requisito.nome}" />
										</a4j:commandLink>
									</rich:column>
								</rich:dataTable>
							</rich:panel>
							
							<rich:panel header="Casos de Uso">
								<rich:dataTable id="listaCasosUso" 
									var="casoUso"
									value="#{acompanharProjetoControl.casosUsoDaIteracao}"
									styleClass="stable">
									
									<f:facet name="header">
										<rich:columnGroup>
											<rich:column>Nome</rich:column>
											<rich:column>Descrição</rich:column>
										</rich:columnGroup>
									</f:facet>
									
									<rich:column>
										#{casoUso.nomeCasoUso}
									</rich:column>
									<rich:column>
										#{casoUso.breveDescricao}
									</rich:column>
								</rich:dataTable>
							</rich:panel>
						</h:panelGrid>
						
					</rich:tab>
					
					<rich:tab header="Execuções" id="tabExecucoes">
						<rich:dataTable id="listaExecucoes" 
							var="execucao"
							value="#{acompanharProjetoControl.execucoesDaIteracao}"
							styleClass="stable">
							
							<f:facet name="header">
								<rich:columnGroup>
									<rich:column>Atividade</rich:column>
									<rich:column>Responsável</rich:column>
									<rich:column>Início</rich:column>
									<rich:column>Fim</rich:column>
									<rich:column>Horas</rich:column>
									<rich:column>Descrição</rich:column>
								</rich:columnGroup>
							</f:facet>
							
							<rich:column style="width: 15%">
								#{execucao.atividade.numero} - #{execucao.atividade.nome}
							</rich:column>
							<rich:column>
								#{execucao.responsavel.nomeRecurso}
							</rich:column>
							<rich:column style="text-align: center; width: 10%;">
								<h:outputText value="#{execucao.inicio}">
									<f:convertDateTime pattern="dd/MM/yyyy"/>
								</h:outputText>
							</rich:column>
							<rich:column style="text-align: center; width: 10%;">
								<h:outputText value="#{execucao.fim}">
									<f:convertDateTime pattern="dd/MM/yyyy"/>
								</h:outputText>
							</rich:column>
							<rich:column style="text-align: center; width: 5%;">
								#{execucao.qtdHoras}
							</rich:column>
							<rich:column>
								#{execucao.descricao}
							</rich:column>
						</rich:dataTable>
					</rich:tab>
				</rich:tabPanel>
				
				<h:panelGrid columns="5" styleClass="botoes">
					<h:commandButton action="#{planejarIteracaoControl.iniciar}" value="Planejar" disabled="#{acompanharProjetoControl.desabBtPlanejar}" immediate="true">
						<f:setPropertyActionListener target="#{planejarIteracaoControl.idIteracao}" value="#{acompanharProjetoControl.idIteracaoSelecionada}" />
					</h:commandButton>
					<a4j:commandButton value="Iniciar" disabled="#{acompanharProjetoControl.desabBtIniciar}" execute="@this" 
						render="panelIniciarIteracao" action="#{acompanharProjetoControl.confirmarInicioIteracao}" 
						oncomplete="#{rich:component('panelIniciarIteracao')}.show()" />
					<h:commandButton value="Replanejar" disabled="#{acompanharProjetoControl.desabBtReplanejar}" action="#{planejarIteracaoControl.replanejar}" >
						<f:setPropertyActionListener target="#{planejarIteracaoControl.idIteracao}" value="#{acompanharProjetoControl.idIteracaoSelecionada}" />
					</h:commandButton>
					<a4j:commandButton value="Concluir" disabled="#{acompanharProjetoControl.desabBtConcluir}" execute="@this" render="panelConcluirIteracao"
						action="#{acompanharProjetoControl.confirmarConclusaoIteracao}" oncomplete="#{rich:component('panelConcluirIteracao')}.show()" />
					
					<h:commandButton action="#{acompanharProjetoControl.iniciar}" value="Voltar" immediate="true" />
					
				</h:panelGrid>
				
				
				<!-- Panel Requisitos Atividade -->
				<rich:popupPanel id="panelRequisitosAtividade" modal="true" resizeable="false" autosized="true" 
					header="Requisitos/ Casos de Uso da Atividade ##{acompanharProjetoControl.atividade.numero}" domElementAttachment="form">
					
					<h:panelGrid columns="2" columnClasses="col-50perc, col-50perc">
						<rich:panel header="Requisitos">
							<rich:dataTable var="requisito" 
								value="#{acompanharProjetoControl.requisitosDaAtividade}"
								rowClasses="odd-row, even-row" 
								styleClass="stable">
								
								<f:facet name="header">
									<rich:columnGroup>
										<rich:column>Nome</rich:column>
										<rich:column>Tipo</rich:column>
										<rich:column>Prioridade</rich:column>
									</rich:columnGroup>
								</f:facet>
								
								<rich:column>#{requisito.nome}</rich:column>
								<rich:column>#{requisito.tipo.descricao}</rich:column>
								<rich:column>#{requisito.prioridade}</rich:column>
							</rich:dataTable>
						</rich:panel>
						<rich:panel header="Casos de Uso">
							<rich:dataTable var="casoUso" 
								value="#{acompanharProjetoControl.casosUsoDaAtividade}"
								rowClasses="odd-row, even-row" 
								styleClass="stable">
								
								<f:facet name="header">
									<rich:columnGroup>
										<rich:column>Nome</rich:column>
										<rich:column>Descrição</rich:column>
									</rich:columnGroup>
								</f:facet>
								
								<rich:column>#{casoUso.nomeCasoUso}</rich:column>
								<rich:column>#{casoUso.breveDescricao}</rich:column>
							</rich:dataTable>
						</rich:panel>
					</h:panelGrid>
					
					<br/>
					
					<h:panelGrid styleClass="botoes">
						<h:button value="Fechar" onclick="#{rich:component('panelRequisitosAtividade')}.hide(); return false;" />
					</h:panelGrid>
				</rich:popupPanel>
				
				<!-- Panel Atividades Predecessoras -->
				<rich:popupPanel id="panelAtividadesPredecessoras" modal="true" resizeable="false" autosized="true"
					header="Predecessoras da Atividade ##{acompanharProjetoControl.atividade.numero}" domElementAttachment="form">
					
					<rich:dataTable var="atividade" 
						value="#{acompanharProjetoControl.atividadesPredecessoras}"
						rowClasses="odd-row, even-row" 
						styleClass="stable">
						
						<f:facet name="header">
							<rich:columnGroup>
								<rich:column>#</rich:column>
								<rich:column>Nome</rich:column>
								<rich:column></rich:column>
							</rich:columnGroup>
						</f:facet>
						
						<rich:column>#{atividade.numero}</rich:column>
						<rich:column>#{atividade.nome}</rich:column>
					</rich:dataTable>
					
					<br />
					<h:panelGrid styleClass="botoes">
						<h:button value="Fechar" onclick="#{rich:component('panelAtividadesPredecessoras')}.hide(); return false;" />
					</h:panelGrid>
				</rich:popupPanel>
				
				<!-- Panel Atividades Requisito -->
				<rich:popupPanel id="panelAtividadesRequisito" modal="true" resizeable="false" autosized="true"
					header="Atividades do requisito #{acompanharProjetoControl.requisito.nome}" domElementAttachment="form">
					
					<rich:dataTable var="atividade" 
						value="#{acompanharProjetoControl.atividadesDoRequisito}"
						rowClasses="odd-row, even-row" 
						styleClass="stable">
						
						<f:facet name="header">
							<rich:columnGroup>
								<rich:column>#</rich:column>
								<rich:column>Nome</rich:column>
								<rich:column></rich:column>
							</rich:columnGroup>
						</f:facet>
						
						<rich:column>#{atividade.numero}</rich:column>
						<rich:column>#{atividade.nome}</rich:column>
					</rich:dataTable>
					
					<br />
					<h:panelGrid styleClass="botoes">
						<h:button value="Fechar" onclick="#{rich:component('panelAtividadesRequisito')}.hide(); return false;" />
					</h:panelGrid>
				</rich:popupPanel>
				
				<!-- Panel execucoes da atividade -->
				<rich:popupPanel id="panelExecucoesAtividade" modal="true" resizeable="false" autosized="true"
					header="Atividades da atividade #{acompanharProjetoControl.atividade.numero} - #{acompanharProjetoControl.atividade.nome}" domElementAttachment="form">
					
					<rich:dataTable var="execucao" 
						value="#{acompanharProjetoControl.execucoesDaAtividade}"
						rowClasses="odd-row, even-row" 
						styleClass="stable">
						
						<f:facet name="header">
							<rich:columnGroup>
								<rich:column>Respons�vel</rich:column>
								<rich:column>In�cio</rich:column>
								<rich:column>Fim</rich:column>
								<rich:column>Descri��o</rich:column>
							</rich:columnGroup>
						</f:facet>
						<rich:column>#{execucao.responsavel.nomeRecurso}</rich:column>
						<rich:column>
							<h:outputText value="#{execucao.inicio}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</rich:column>
						<rich:column>
							<h:outputText value="#{execucao.fim}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</rich:column>
						<rich:column>#{execucao.descricao}</rich:column>
					</rich:dataTable>
					
					<br />
					<h:panelGrid styleClass="botoes">
						<h:button value="Fechar" onclick="#{rich:component('panelExecucoesAtividade')}.hide(); return false;" />
					</h:panelGrid>
				</rich:popupPanel>
				
				<!-- Panel Iniciar Iteracao -->
				<rich:popupPanel id="panelIniciarIteracao" modal="true" resizeable="false" autosized="true" 
					header="Iniciar Iteracao ##{acompanharProjetoControl.iteracao.numero}" domElementAttachment="form">
					<h:panelGrid columns="2">
						<h:outputText value="*Data Início:" styleClass="form_label" />
						<rich:calendar id="dataInicio" value="#{acompanharProjetoControl.dataInicioIteracao}"
							datePattern="dd/MM/yyyy" popup="true" showFooter="false" />
					</h:panelGrid>
					
					<br />
					<h:panelGrid styleClass="botoes" columns="2">
						<h:commandButton value="Confirmar" action="#{acompanharProjetoControl.iniciarIteracao}" />
						<h:button value="Cancelar" onclick="#{rich:component('panelIniciarIteracao')}.hide(); return false;" />
					</h:panelGrid>
				</rich:popupPanel>
				
				<!-- Panel Concluir Iteracao -->
				<rich:popupPanel id="panelConcluirIteracao" modal="true" resizeable="false" autosized="true" 
					header="Concluir Iteração ##{acompanharProjetoControl.iteracao.numero}" domElementAttachment="form">
					<h:outputText value="Os dados da iteração não poderão mais ser alterados após ela ser concluída." styleClass="form_label" />
					<h:outputText value="Deseja realmente concluir a iteração?" styleClass="form_label" />
					  
					<h:panelGrid columns="2">
						<h:outputText value="*Data Conclusão:" styleClass="form_label" />
							<rich:calendar id="dataConclusao" value="#{acompanharProjetoControl.dataConclusaoIteracao}"
								datePattern="dd/MM/yyyy" popup="true" showFooter="false" />
					</h:panelGrid>
					
					<br />
					<h:panelGrid styleClass="botoes" columns="2">
						<h:commandButton value="Confirmar" action="#{acompanharProjetoControl.concluirIteracao}" />
						<h:button value="Cancelar" onclick="#{rich:component('panelConcluirIteracao')}.hide(); return false;" />
					</h:panelGrid>
				</rich:popupPanel>
				
				
				<ui:include src="/pages/projeto/_gantt.xhtml" />
			</h:form>
			
		</ui:define>
	</ui:composition>

</ui:component>
